package org.xteam.box2text.old;

import org.xteam.box2text.Frame;
import org.xteam.box2text.Point;
import org.xteam.box2text.TextStruct;


public interface IPlaceableBox {
	
	/**
	 * Minimum width of the box as HV and HOV were laid out vertically.
	 * 
	 * @param frame
	 * @return
	 */
	public int width(Frame frame);
	
	/**
	 * Size of the box laid out with constraints.
	 * context is only used by I operator.
	 * 
	 * @param frame
	 * @param context
	 * @return
	 */
	public Point length(Frame frame, int context);
	
	/**
	 * 
	 * @param frame
	 * @param textStruct
	 * @param context
	 * @return
	 */
	public TextStruct place(Frame frame, TextStruct textStruct, int context);

}
